草庐IT

html - 带有 HTML5 Canvas 元素的矩形渐变

全部标签

ruby - 映射一个只修改符合特定条件的元素的数组

在Ruby中,以修改某些元素而其他元素保持不变的方式映射数组的最具表现力的方法是什么?这是一种直接的方法:old_a=["a","b","c"]#["a","b","c"]new_a=old_a.map{|x|(x=="b"?x+"!":x)}#["a","b!","c"]当然,如果还不够的话,省略“leave-alone”的情况:new_a=old_a.map{|x|x+"!"ifx=="b"}#[nil,"b!",nil]我想要的是这样的:new_a=old_a.map_modifying_only_elements_where(Proc.new{|x|x=="b"})do|y|y

ruby - 在 Ruby 中将元素重新定位到数组的前面

即使来自javascript,这对我来说也很糟糕:irb>>a=['a','b','c']=>["a","b","c"]>>a.unshift(a.delete('c'))=>["c","a","b"]有没有更清晰的方法将元素放在数组的前面?编辑我的实际代码:if@admin_users.include?(current_user)@admin_users.unshift(@admin_users.delete(current_user))end 最佳答案 也许这对你来说更好看:a.insert(0,a.delete('c'))

Ruby:如何将数组的元素与前缀连接在一起?

我有一个这样的数组:["marblecake","also","the",1337]我想取回一个字符串,该字符串包含以某个指定字符串为前缀的数组的每个元素,然后由另一个指定字符串连接在一起。例如,["marblecake","also","the",1337].join_with_prefix("%","__")应该导致#=>%marblecake__%also__%the__%1337我该怎么做? 最佳答案 如果你的数组在a中,那么这个单行代码就可以了a.map{|k|"%#{k}"}.join("_")您可以轻松地将它放入您自己

Ruby Rack - 安装一个默认读取 index.html 的简单 Web 服务器

我正在尝试从本教程中获取一些信息:http://m.onkey.org/2008/11/18/ruby-on-rack-2-rack-builder基本上我想要一个文件config.ru告诉rack读取当前目录,这样我就可以访问所有文件,就像一个简单的apache服务器一样,还可以读取带有索引的默认根目录.html文件...有什么办法吗?我当前的config.ru看起来像这样:runRack::Directory.new('')#thiswouldreadthedirectorybutitdoesn'tsettheroottoindex.htmlmap'/'dofile=File.re

带有重复键的 Ruby 哈希?

是否可以在Ruby中创建一个允许重复键的散列?我正在使用Ruby1.9.2。 最佳答案 在散列中实现重复键的两种方法:h1={}h1.compare_by_identityh1["a"]=1h1["a"]=2ph1#=>{"a"=>1,"a"=>2}h2={}a1=[1,2,3]a2=[1,2]h2[a1]=1h2[a2]=2a2{[1,2,3]=>1,[1,2,3]=>2} 关于带有重复键的Ruby哈希?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 空元素是否有等效的 Array#compact ?

众所周知,Array#compact从数组中删除了nil元素。array.reject{|元素|元素.空?}会删除像[]这样的空元素(在rails中你也可以使用#blank?来删除空元素和无元素)。有没有像Array#compact这样的删除空/空白元素的简写方法?还是使用Array#reject是我最好的选择?我还没有看到#compact的“空”等价物,如果有的话。但也许我只是忽略了它。 最佳答案 是的!array.reject&:empty?然而,作为scarver2和HoangLe解释说,这将失败并显示NoMethodErro

ruby - 如何获取节点的原始 HTML

我正在使用Nokogiri来分析一些HTML,但是,我不知道如何在节点中获取原始HTML。例如,给定:97462012-06-26当我使用这个XPath选择器时:doc=Nokogiri::HTML(html)nodes=doc.search("//tr[@class='tablebX']")nodes.eachdo|node|node.text#ornode.contentendnode.text和node.content的结果是:97462012-06-26我想获取trblock中的所有原始HTML,在这种情况下,它是:97462012-06-26正确的做法是什么?

javascript - 使用 Selenium 模拟将文件拖到上传元素上

我有一个网页,当您单击一个按钮时会打开一个div。这个div允许您将文件从桌面拖到它的区域;然后文件被上传到服务器。我正在使用Selenium的Ruby实现。通过在Firefox中使用JavaScript调试器,我可以看到一个名为“drop”的事件正在传递给一些JavaScript代码“handleFileDrop(event)”。我假设如果我要创建一个模拟事件并以某种方式触发它,我就可以触发这段代码。如果找到interestingarticle这似乎为我指出了一个有前途的方向,但我还没有完全弄清楚。我可以使用Selenium的get_eval方法将JavaScript传递到页面。使用

arrays - 获取数组的每n个元素

如何使用Ruby1.9+选择数组的每个n个元素(例如六个)?示例:a=[0,1,2,3,4,...,33]#solution#=>[[0,1,2,3,4,5],[6,7,8,9,10,11],...] 最佳答案 Enumerable#each_sliceIteratesthegivenblockforeachsliceofelements.Ifnoblockisgiven,returnsanenumerator.e.g.:(1..10).each_slice(3){|a|pa}#outputsbelow[1,2,3][4,5,6][

ruby - 是否可以在 Ruby 中定义带有默认参数的 block ?

Thisquestion处理传递给Rubyblock的可选参数。我想知道是否也可以用默认值定义参数,以及它的语法是什么。乍一看,答案似乎是“否”:defcall_it&blockblock.callendcall_itdo|x="foo"|p"Calledtheblockwithvalue#{x}"end...结果:my_test.rb:5:syntaxerror,unexpected'=',expecting'|'call_itdo|x="foo"|^my_test.rb:6:syntaxerror,unexpectedtSTRING_BEG,expectingkDOor'{'or'